Note that JOE is a student written program and is not supported by WPI or the CCC. This means that JOE will not be maintained by the CCC staff and that the CCC staff do not have to help you use it. Use this program at your own risk. However, as long as the author of the program is here at WPI, he will be glad to help you. Mail any questions you have to 'rcarter@wpi.wpi.edu'
JOE also tries to get the width and the height of the screen from the TIOCGSIZE ioctl if your system supports it and if it reports that its values are valid. This allows JOE to use resizable windows. Unfortunately, the values returned by TIOCGSIZE are occasionally wrong when JOE is used on a normal serial terminal. If you find that this is the case, you can force the values TIOCGSIZE returns by typing the commands: 'stty rows 24' and 'stty cols 80'
To customize the help screen or the key bindings, copy the file /usr/local/stusrc/joe/.joerc to your home directory and modify it. The comments at the beginning of the file explain how to do this.
Be sure that the baud rate as reported by stty is correct. JOE uses this to optimize its screen writes. If you're going over a network, set the baud rate to your best estimate of the actual throughput. If you're using JOE in an X window, set the baud rate to the highest possible (usually 'stty extb' or 'stty 38400').
^K J reformats the current paragraph. ^T R can be used to change the right margin. The default is the width of the screen. If auto-indent mode is set, indented paragraphs are formatted.
Use ^K B to set the beginning of a block and ^K K to set the end of a block. You can then copy, move, save or delete the marked block. To turn the highlighting off, hit ^K B ^K K (make the beginning and ending the same or move the beginning past the ending or move the ending before the beginning).
^K O splits a window into two. You can then use ^K E to load a file into the new window. ^K I shows either one window or it shows all of the windows. Use ^C to eliminate a window.
Control characters (0-31, 127) are shown underlined. Characters above 127 are shown in inverse. You can use ` and ^ to enter control characters or characters with the 7th bit set.
Hit ^K F to find text. You will be prompted to enter the search string. After hitting Return, you will be prompted for options- you can type 1 or more of:
i Ignore case
b Backwards
r Replace
nnn Find the nth occurance or do nnn replacements
If you hit r, you will also be prompted to enter the
replacement string.
Hit ^L to find the next occurance of the previous search
string (with all the same options except nnn).
Hit ^K L to goto an entered line number.
Hit ^K 0 to execute a shell command. If a block was set, the shell command gets the block on its standard input and the any output the command writes to it's standard output will replace the block. If a block was not set, any standard output is simply inserted into the text at the cursor location.
You may wish to capture the error output from the command instead of its standard output. This may be done by giving appropriate shell modifiers along with the command. For example if you want to run the command 'make bsd':
make bsd stderr -> screen, stdout -> editor
make bsd >&2 stderr -> screen, stdout -> screen
make bsd 2>&1 stderr -> editor, stdout -> editor
make bsd 3>&1 1>&2 2>&3 stderr -> editor, stdout -> screen
If for some reason JOE gets a signal (that it's going to crash or that the system is messing up), it attempts to save all of its modified files into a file "DEADJOEnnnn" (where nnnn is the process I.D.) in the current directory. Edit this file to get your latest modifications back after such an occurance.
Insert/Overtype
When you type characters, they will either be
inserted before the existing text or will
replace the existing text.
Tab Magic on/off
When tab magic is on, the column number of
characters preceded by tab characters will
automatically be maintained.
Word Wrap on/off
When word wrap is on, words typed past the
right margin will automatically wrap to the
left edge of the screen.
Autoindent on/off
When autoindent is on, new lines will begin
with same amount of whitespace from the left
edge of the screen. Also indented paragraphs
will be formatted properly.
Picture mode on/off
When picture mode is on, the right-arrow and
down-arrow keys will move freely on the screen.
I.E., right arrow will not wrap to the next
line and down arrow will not stop at the end
of the file.
.joerc Initialization file. JOE looks for
this in the current directory, the
user's home directory and in the
directory containing JOE
The file size is limited to the system process size limit
Joseph H. Allen
28 Dale Lane
Smithtown, N.Y. 11787